將Modbus 當作通信協定而成的Network 就稱之為 Modbus。Modbus 協定乃是Modicon Inc. 公司針對PLC 開發的通信協定,並且是對全世界公開的規格。因為非常簡單以致FA、PA 的領域中廣泛使用。和其他的Open Field Network 的規格不同,並無檢驗及認定的組織。因此,在Modbus Network 上將新開的Modbus 機器連線時,必須根據製造商責任而有所實證確認。M-System 已經開始針對Logging System,在許多產品上,採用Modbus。
Modbus 概要
Modbus 協定只定義到通信協定,並未規範到通信媒體等的物理層。就作為物理層來說,一般是使用RS-232 及RS-485 等。在Ethernet 及Map 等其他Network 上,也有把Modbus 協定的訊息加進去的通信。這個時候,不只Master/Slave 通信而已,還有可能是一對一通信。
Modbus 協定的通信方式,是屬於單一Master /多個Slave 的方式。光是Master 就可以進行Request (通信的開始)。而Slave 看到此Request 就會執行指定的功能,並發出應答的訊號。而Master 可以進行針對指定的Slave 作Request,或者針對所有的Slave 廣播Request。若是在廣播Request 的時候,Slave 僅執行指定功能而不會發送應答的訊號,只有在針對自己的Request 時,才會發送應答訊息。Request 的傳訊格式是由Function Code, Data, 以及Error Check Field 構成。上述這些是會定義到Slave 的位址(或廣播),以及要求內容。而且,應答訊息傳送格式,是要求內容的確認Field,應答Data,以及Error Check Field 的構成。圖一顯示Request 及應答訊息傳送的格式。
串列埠資料傳送種類有ASCII (American Standard Code for Information Interchange) Mode 及RTU (Remote Terminal Unit) Mode 兩種,可供選擇。不過,在同一個通訊架構上,對所有的設備來說,必須同一Mode 才行。對ASCII 來說,將1 Byte (8 bits) 資料轉換成2個字的ASCII 碼再來傳送。對RTU Mode 而言,將1 Byte(8 bits) 資料用那樣的方式傳送,而且傳送效率比ASCII Mode 好,所以主要還是使用RTU Mode。而且,隨著傳送Mode,Error Check Field 的檢查方式也不同,若是ASCII Mode,是採用LRC (Longitudinal Redundancy Check) 法,或若是RTU Mode,則採用CRC (Cyclical Redundancy Check) 法。
圖1:傳送格式
(下載)
|